package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * @author  LYY
 * @desc
 * @time 2024-04-17 16:41
 */
/**
 * 项目立项详情表
 */
public class ProjectTransferDetails extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long proId;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectId;

    /** 项目状态:1执行中，0执行完毕 */
    @Excel(name = "项目状态:1执行中，0执行完毕")
    private String projectStatus;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private String businessType;

    /** 项目进行阶段 */
    @Excel(name = "项目进行阶段")
    private String projectStage;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date projectCreateTime;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createPerson;

    /** 企业名称 */
    @Excel(name = "企业名称")
    private String enterpriseName;

    /** 企业联系人电话 */
    @Excel(name = "企业联系人电话")
    private String enterprisePhone;

    /** 企业联系人 */
    @Excel(name = "企业联系人")
    private String enterprisePerson;

    /** 行业 */
    @Excel(name = "行业")
    private String industry;

    /** 所属地区 */
    @Excel(name = "所属地区")
    private String address;

    /** 项目属性 */
    @Excel(name = "项目属性")
    private String projectProperty;

    /** 审批部门 */
    @Excel(name = "审批部门")
    private Long approvalDept;

    /** 监督部门 */
    @Excel(name = "监督部门")
    private Long superviseDept;

    /** 保密协议0否1是，1则对外展示上传方式 */
    @Excel(name = "保密协议0否1是，1则对外展示上传方式")
    private Long secrecyAgreement;

    /** 投标项目1是0否 */
    @Excel(name = "投标项目1是0否")
    private Long tenderProject;

    /** 优先级 */
    @Excel(name = "优先级")
    private String priority;

    /** 项目简述 */
    @Excel(name = "项目简述")
    private String projectBriefly;

    /** 项目备注 */
    @Excel(name = "项目备注")
    private String projectRemark;

    /** 模版id(外键关联) */
    @Excel(name = "模版id(外键关联)")
    private Long stencilId;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planStartTime;

    /** 计划结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "计划结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planEndTime;

    /** 项目附件 */
    @Excel(name = "项目附件")
    private String projectAnnex;

    /** 成员id（外键关联） */
    @Excel(name = "成员id", readConverterExp = "外=键关联")
    private String memberId;

    /** 项目任务id(外键关联) */
    @Excel(name = "项目任务id(外键关联)")
    private String taskId;

    /** 意见详情 */
    @Excel(name = "意见详情")
    private String opinionDetail;

    /** 意见发表人（获取当前当前登录人信息） */
    @Excel(name = "意见发表人", readConverterExp = "获=取当前当前登录人信息")
    private String opinionPerson;

    /** 数据修改人 */
    private String updateBy;

    /**  数据修改时间 */
    private Date updateTime;

    public void setProId(Long proId)
    {
        this.proId = proId;
    }

    public Long getProId()
    {
        return proId;
    }
    public void setProjectName(String projectName)
    {
        this.projectName = projectName;
    }

    public String getProjectName()
    {
        return projectName;
    }
    public void setProjectId(String projectId)
    {
        this.projectId = projectId;
    }

    public String getProjectId()
    {
        return projectId;
    }
    public void setProjectStatus(String projectStatus)
    {
        this.projectStatus = projectStatus;
    }

    public String getProjectStatus()
    {
        return projectStatus;
    }
    public void setBusinessType(String businessType)
    {
        this.businessType = businessType;
    }

    public String getBusinessType()
    {
        return businessType;
    }
    public void setProjectStage(String projectStage)
    {
        this.projectStage = projectStage;
    }

    public String getProjectStage()
    {
        return projectStage;
    }
    public void setProjectCreateTime(Date projectCreateTime)
    {
        this.projectCreateTime = projectCreateTime;
    }

    public Date getProjectCreateTime()
    {
        return projectCreateTime;
    }
    public void setCreatePerson(String createPerson)
    {
        this.createPerson = createPerson;
    }

    public String getCreatePerson()
    {
        return createPerson;
    }
    public void setEnterpriseName(String enterpriseName)
    {
        this.enterpriseName = enterpriseName;
    }

    public String getEnterpriseName()
    {
        return enterpriseName;
    }
    public void setEnterprisePhone(String enterprisePhone)
    {
        this.enterprisePhone = enterprisePhone;
    }

    public String getEnterprisePhone()
    {
        return enterprisePhone;
    }
    public void setEnterprisePerson(String enterprisePerson)
    {
        this.enterprisePerson = enterprisePerson;
    }

    public String getEnterprisePerson()
    {
        return enterprisePerson;
    }
    public void setIndustry(String industry)
    {
        this.industry = industry;
    }

    public String getIndustry()
    {
        return industry;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setProjectProperty(String projectProperty)
    {
        this.projectProperty = projectProperty;
    }

    public String getProjectProperty()
    {
        return projectProperty;
    }
    public void setApprovalDept(Long approvalDept)
    {
        this.approvalDept = approvalDept;
    }

    public Long getApprovalDept()
    {
        return approvalDept;
    }
    public void setSuperviseDept(Long superviseDept)
    {
        this.superviseDept = superviseDept;
    }

    public Long getSuperviseDept()
    {
        return superviseDept;
    }
    public void setSecrecyAgreement(Long secrecyAgreement)
    {
        this.secrecyAgreement = secrecyAgreement;
    }

    public Long getSecrecyAgreement()
    {
        return secrecyAgreement;
    }
    public void setTenderProject(Long tenderProject)
    {
        this.tenderProject = tenderProject;
    }

    public Long getTenderProject()
    {
        return tenderProject;
    }
    public void setPriority(String priority)
    {
        this.priority = priority;
    }

    public String getPriority()
    {
        return priority;
    }
    public void setProjectBriefly(String projectBriefly)
    {
        this.projectBriefly = projectBriefly;
    }

    public String getProjectBriefly()
    {
        return projectBriefly;
    }
    public void setProjectRemark(String projectRemark)
    {
        this.projectRemark = projectRemark;
    }

    public String getProjectRemark()
    {
        return projectRemark;
    }
    public void setStencilId(Long stencilId)
    {
        this.stencilId = stencilId;
    }

    public Long getStencilId()
    {
        return stencilId;
    }
    public void setPlanStartTime(Date planStartTime)
    {
        this.planStartTime = planStartTime;
    }

    public Date getPlanStartTime()
    {
        return planStartTime;
    }
    public void setPlanEndTime(Date planEndTime)
    {
        this.planEndTime = planEndTime;
    }

    public Date getPlanEndTime()
    {
        return planEndTime;
    }
    public void setProjectAnnex(String projectAnnex)
    {
        this.projectAnnex = projectAnnex;
    }

    public String getProjectAnnex()
    {
        return projectAnnex;
    }
    public void setMemberId(String memberId)
    {
        this.memberId = memberId;
    }

    public String getMemberId()
    {
        return memberId;
    }
    public void setTaskId(String taskId)
    {
        this.taskId = taskId;
    }

    public String getTaskId()
    {
        return taskId;
    }
    public void setOpinionDetail(String opinionDetail)
    {
        this.opinionDetail = opinionDetail;
    }

    public String getOpinionDetail()
    {
        return opinionDetail;
    }
    public void setOpinionPerson(String opinionPerson)
    {
        this.opinionPerson = opinionPerson;
    }

    public String getOpinionPerson()
    {
        return opinionPerson;
    }
    public void setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
    }

    public String getUpdateBy()
    {
        return updateBy;
    }
    public void setUpdateTime(Date updateTime)
    {
        this.updateTime = updateTime;
    }

    public Date getUpdateTime()
    {
        return updateTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("proId", getProId())
                .append("projectName", getProjectName())
                .append("projectId", getProjectId())
                .append("projectStatus", getProjectStatus())
                .append("businessType", getBusinessType())
                .append("projectStage", getProjectStage())
                .append("projectCreateTime", getProjectCreateTime())
                .append("createPerson", getCreatePerson())
                .append("enterpriseName", getEnterpriseName())
                .append("enterprisePhone", getEnterprisePhone())
                .append("enterprisePerson", getEnterprisePerson())
                .append("industry", getIndustry())
                .append("address", getAddress())
                .append("projectProperty", getProjectProperty())
                .append("approvalDept", getApprovalDept())
                .append("superviseDept", getSuperviseDept())
                .append("secrecyAgreement", getSecrecyAgreement())
                .append("tenderProject", getTenderProject())
                .append("priority", getPriority())
                .append("projectBriefly", getProjectBriefly())
                .append("projectRemark", getProjectRemark())
                .append("stencilId", getStencilId())
                .append("planStartTime", getPlanStartTime())
                .append("planEndTime", getPlanEndTime())
                .append("projectAnnex", getProjectAnnex())
                .append("memberId", getMemberId())
                .append("taskId", getTaskId())
                .append("opinionDetail", getOpinionDetail())
                .append("opinionPerson", getOpinionPerson())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}